package com.jzhao.jpre.comm.test;

import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.InterruptedException;
import java.lang.StringBuffer;
import java.math.BigDecimal;
import java.net.Socket;
import java.nio.charset.Charset;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Hashtable;

import com.jzhao.jpre.log.GeneralLog;
import com.jzhao.jpre.security.ByteShow;

class Devtest implements Runnable {
	Thread t = null;
	Socket skt = null;
	InputStream is = null;
	OutputStream os = null;
	Timestamp CurrTime = null;
	SimpleDateFormat sdf1 = null;
	SimpleDateFormat sdf2 = null;
	int seq = 0;
	int devId = 0;

	Devtest(int seq, int devId) {
		this.seq = seq + 1;
		this.devId = devId + 1;
		t = new Thread(this);
		t.start();
	}

	public void run() {
		try {
			
			int j = 0;
			for (int i = 0; i < 100; i++) {

				byte[] out3 = new byte[]{(byte)0x84,(byte)0x02,(byte)0xBF,(byte)0x00,(byte)0x03,(byte)0x8B,(byte)0x1F,(byte)0x9B,(byte)0xD7,(byte)0xB6,(byte)0x61,(byte)0x30,(byte)0x01,(byte)0x00,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x3F,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00};
				byte buff[] = new byte[8000];
				skt = new Socket("192.168.1.118", 7000);
				os = skt.getOutputStream();
				is = skt.getInputStream();
				os.write(out3);
				CurrTime = new Timestamp(System.currentTimeMillis());
				is.read(buff,0,buff.length);
				CurrTime = new Timestamp(System.currentTimeMillis());
				String s = ByteShow.show(buff) + "[" + buff.length + "]";
				//GeneralLog.debug("security", "Hsm rspMsg = " + s);
				
			is.close();
			os.close();
			skt.close();
	

				if (buff[0] == 0x41) {
					System.out.println("get mac sucess i = [" + i + "]");
				}else
					j++;
			}
			System.out.println("get mac err j = [" + j+ "]");
			

		} catch (IOException ioe) {
			System.out.println(ioe);
			}

	}

	
}

public class test {
	public static void main(String args[]) {
		for (int cycle = 0; cycle < 1; cycle++) {
			for (int concurrent = 0; concurrent < 1; concurrent++) {
				new Devtest(cycle, concurrent);
			}
			try {
				Thread.sleep(10000);
			} catch (InterruptedException ie) {
				System.out.println(ie);
			}
		}
	}
}